<?php

namespace Drinkiit\BlogBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Drinkiit\BlogBundle\Form\AdminType_produitType;
use Drinkiit\BlogBundle\Handler\DefaultHandler;
use Drinkiit\BlogBundle\Entity\Type_produit;

class AdminTypeProduitController extends Controller
{
	public function em($objet) {
		return $this->getDoctrine()->getEntityManager()->getRepository($objet) ;
	}
	
	public function indexAction()
	{
		$type_produit = new Type_produit(); // on créé le nouveau type de produit
		$form = $this->createForm(new AdminType_produitType, $type_produit); // on créé le formulaire pour demander des infos à l'admin
		
        $formHandler = new DefaultHandler($form, $this->get('request'), $this, $this->getDoctrine()->getEntityManager());
		
        if( $formHandler->process() )
        {
			$this->get('logger')->info("[INFO] Formulaire bien validé, d'ou la redirection [admin_management_type_produit]") ;
            return $this->redirect( $this->generateUrl('admin_management_type_produit') );
        }
		
		// enfin on affiche la liste des types de produits qui existent déjà
		$liste_type_produit = $this->em('DrinkiitBlogBundle:Type_produit')->findAll() ;
		$this->get('logger')->info("[INFO] Nombre de type de produits : ".count($liste_type_produit)) ;
		return $this->render('DrinkiitBlogBundle:Admin:TypeProduit.html.twig', array(
			'form' => $form->createView(),
			'titre' => 'Ajouter un type de produit',
			'liste' => $liste_type_produit, 
		));
	}
}
